Are you sure the signal isn't getting emitted or is it a getting emitted but the sendmail object isn't picking it up? My guess is your send mail object is doing something (locked up and never going back to the event loop). So it is never receiving that second message since it never gets back to the event loop.
Don't know for sure without seeing the code for it, but just something I've noticed in thread programming with Qt.
You could gdb to break into the application and see what your thread is doing. If it isn't in processEvents() that is probably the issue.
Oh and one more thing, you can easily test the emitter by create a fake sendmail object with that same slot, then just have it write to the console when it sees that signal. That way you know if is doing nothing but writing to the console and exiting the slot so there won't be any hang ups. My guess is it will work and that your problem lies in the sendmail object.
[edit]: added more ideas :)